$(function () {

    // 首页数据的渲染

    //当前页码
    var currentPage = 1;

    // 每页多少条
    var pageSize = 3;

    // ajax获取数据+模板引擎
    function render() {
        $.ajax({
            type: 'get',
            url: '/category/queryTopCategoryPaging',
            data: {
                page: currentPage,
                pageSize: pageSize
            },
            dataTpype: 'json',
            success: function (res) {
                console.log(res)
                $('tbody').html(template('tmp', res))

                setPage(res.total)
            }
        })
    }

    render()



    // 分页功能
    function setPage(total) {
        $("#paginator").bootstrapPaginator({
            bootstrapMajorVersion: 3,//默认是2，如果是bootstrap3版本，这个参数必填
            currentPage: currentPage,//当前页
            totalPages: Math.ceil(total / pageSize),//总页数
            onPageClicked: function (event, originalEvent, type, page) {
                //为按钮绑定点击事件 page:当前点击的按钮值
                // 改變當前頁的取值
                currentPage = page;

                // 重新渲染
                render()
            }
        });

    }
    setPage(12)




    // 表单非空校验
    $('.add-form').bootstrapValidator({
        // 指定不校验的类型，默认为[':disabled',':hidden',':not(:visible)']，可以不设置
        // 禁用的，隐藏的，不可用的表单
        excluded: [':disabled', ':hidden', ':not(:visible)'],

        // 指定校验时的图标显示，默认是bootstrap风格  字体图标可以在成功或者失败时随便更改
        feedbackIcons: {
            // 成功时出现的图标
            valid: 'glyphicon glyphicon-ok',
            //    失败时出现的图标
            invalid: 'glyphicon glyphicon-remove',
            //    正在验证
            validating: 'glyphicon gltphicon-refresh'
        },

        // 设置要校验的数据(字段)
        // 字段
        fields: {
            // 表单校验插件是根据name属性进行校验的
            // 用户名
            categoryName: {
                // 校验规则
                validators: {
                    // 非空校验
                    notEmpty: {
                        // 如果不为空的话提示消息
                        message: '请输入一级分类名称'
                    },
                }
            },
        }
    });


    // 点击表单按钮，获取表单数据，在表单数据合理的情况下，发送数据给后台，进行添加
    // 添加完成后，页面重新渲染，隐藏模态框，表单重置。。。
    // 插件提供success.form.bv事件，在点击提交按钮 并数据校验通过时触发
    $('.add-form').on('success.form.bv', function (e) {
        // 阻止提交按钮默认行为 刷新页面
        e.preventDefault();

        // ajax提交
        $.ajax({
            type: 'post',
            url: '/category/addTopCategory',
            data: $('.add-form').serialize(),
            dataTpype: 'json',
            success: function (res) {
                console.log(res)

                currentPage = 1;

                //页面重新渲染
                render()
                
                // 隐藏模态框
                $('.modal-add').modal('hide')

                // 表单重置数据
                // $('.add-form')[0].reset();

                // 通过插件实例，去调用插件重置样式 resetForm()
                $('.add-form').data('bootstrapValidator').resetForm(true)

            }
        })
    })



})